//<!--******************************************************************************************-->
//
//  警告: 本電腦程式著作受著作權法及國際公約之保護。
//  未經授權擅自複製或散佈本電腦程式著作之全部或部分
//  ，將導致嚴厲的民事或刑事處份，且將被依法提起最大
//  範圍的追訴。
//
//  CopyRight (C) Galaxy Software Service
//<!--******************************************************************************************-->

var GSStreeItemSel;     //Current Select Item On Tree

//<!--******************************************************************************************-->
//函數名稱：GSSswapListBox
//目    的：交換選取選項清單的OPTION ITEM
//參數說明：vintType -
//				1 - 選取資料至目的選項清單
//				2 - 選取資料至來源選項清單
//			vblnAll - 是否移動全部的子項目
//			vintProcessType -
//				1 - 從來源選項清單中移除該項目「預設」
//				2 - 不從來選項源清單中移除該項目
//			前三個為必要傳遞參數，以下兩個參數未傳遞時，預設取得觸發事件的物件，
//			並根據vintType決定何者是來源，何者是目的
//			vobjSrcList - 來源選項清單
//			vobjDstList - 目的選項清單
//回傳值：無
//版本變更：
//xx. YYYY/MM/DD	AUTHOR		COMMENTS
// 1. 2002/06/19	Brenda		New Create
//<!--******************************************************************************************-->
function GSSswapListBox(vintType,vblnAll,vintProcessType,vobjSrcList,vobjDstList){
    var objContainer;
    var intProcessType;     //1 - remove sel opt fromsrcList, 2 - Not remove sel opt from srcList
    var intSrcIndex,intDstIndex;
    var objSrcList,objDstList;
    var objNewItem;
    var strColRemoveIndex='';
    var arrColRemoveIndex;
    var strColDstVal='';
    var blnRemove=true;

    //GET vobjSrcList&vobjDstList
    if(!vobjSrcList){
        if(vintType==1){
            blnRemove=false;
            intSrcIndex=0;
            intDstIndex=2;}
        else{
            blnRemove=true;
            intSrcIndex=2;
            intDstIndex=0;}

            objContainer=GSSGetParentElementByTag(event.srcElement,'TR');
            objSrcList=objContainer.cells[intSrcIndex].getElementsByTagName('SELECT')(0);
            objDstList=objContainer.cells[intDstIndex].getElementsByTagName('SELECT')(0);}
    else{
        if(typeof(vobjSrcList)!='object') return false;
        if(typeof(vobjDstList)!='object') return false;
        if(typeof(vintProcessType)!='number') return false;
        if(typeof(vintType)!='number') return false;
        if(typeof(vblnAll)!='boolean') return false;
        objSrcList=vobjSrcList;
        objDstList=vobjDstList;}

    objSrcListData=GSSGetParentElementByTag(objSrcList,'TD').getElementsByTagName('INPUT')(0);
    objDstListData=GSSGetParentElementByTag(objDstList,'TD').getElementsByTagName('INPUT')(0);
    if(vintProcessType){
        intProcessType=vintProcessType;}
    else{
        intProcessType=objSrcList.getAttribute('GSS_ProcessType');
        if((!intProcessType)||(intProcessType==null)){
            intProcessType=1;}
        else{
            intProcessType=parseInt(intProcessType);}
    }
   strColDstVal=GSSgetListBoxVal(objDstList);   //Get Destination ListBoxVal
    //Add option to Destination ListBoxVal
    for(i=0;i<objSrcList.length;i++){
        if((objSrcList.options[i].selected)||(vblnAll)){
            objNewItem=document.createElement('OPTION');
            objNewItem.text= objSrcList.options[i].text;
            objNewItem.value= objSrcList.options[i].value;
            if(strColDstVal.indexOf(objSrcList.options[i].value+'\\|')<0)  objDstList.options.add(objNewItem);
            if((intProcessType==1)||(blnRemove)){
                objSrcList.options[i].selected=false;
                if(strColRemoveIndex!='') strColRemoveIndex=strColRemoveIndex + '\\,';
                strColRemoveIndex=strColRemoveIndex + i.toString();}
        }
    }
    //Remove option From SrcListBox
    if(strColRemoveIndex=='') return false;
    arrColRemoveIndex=strColRemoveIndex.split('\\,');
    for(i=arrColRemoveIndex.length-1;i>-1;i--){
        objSrcList.options.remove(arrColRemoveIndex[i]);}
    //Set Val To Hidden Fld
    if(objSrcListData.type=='hidden')   objSrcListData.value=GSSgetListBoxVal(objSrcList);
    if(objDstListData.type=='hidden')   objDstListData.value=GSSgetListBoxVal(objDstList);
}

//<!--******************************************************************************************-->
//函數名稱：GSSSelTreeItem
//目    的：點選TREE的節點時，執行的function，記錄目前的節點，
//			如果點選的節點類別為Forder時，展開該Forder
//參數說明：無
//回傳值：無
//版本變更：
//xx. YYYY/MM/DD	AUTHOR		COMMENTS
// 1. 2002/06/19	Brenda		New Create
//<!--******************************************************************************************-->
function GSSSelTreeItem(){
    var eSrc = window.event.srcElement ;
    var objTR=GSSGetParentElementByTag(eSrc,'TR');
    //因為第0個DIV為CTLSELECTEDTREE所使用的DIV非TREE物件
    var objTree=objTR.cells[0].getElementsByTagName('DIV')(1);
    eSrc.style.color = 'red';
    if (typeof(GSStreeItemSel)=='object'){
        if(eSrc.id!=GSStreeItemSel.id) GSStreeItemSel.style.color = 'black' ;
    }
    GSStreeItemSel = eSrc ;

    var strA_S_ID=objTree.id+'A_';
    var intA_S_IDlen=strA_S_ID.length;
    var strNodeID=GSStreeItemSel.id.substr(intA_S_IDlen,GSStreeItemSel.length);

    var strObjIMGID=objTree.id + 'IMN_' + strNodeID;
    var objIMG=document.all[strObjIMGID];
    if(typeof(objIMG)=='object'){
        __trToggleFolder(document.all[strObjIMGID]);}
}

//<!--******************************************************************************************-->
//函數名稱：GSSswapXMLTree
//目    的：將樹狀選項清單選取的資料移至目的選項清單
//參數說明：vintType -
//				為1時只移動目前點選的項目,
//				為2時移動目前點選的項目及子項目
//				(但是如果GSS_INC_PAR屬性為N時則不移動目前點選的項目)
//回傳值：無
//版本變更：
//xx. YYYY/MM/DD	AUTHOR		COMMENTS
// 1. 2002/06/19	Brenda		New Create
//<!--******************************************************************************************-->
function GSSswapXMLTree(vintType){
    var objTR=GSSGetParentElementByTag(event.srcElement,'TR');
    //因為第0個DIV為CTLSELECTEDTREE所使用的DIV非TREE物件
    var objContainer=objTR.cells[0].getElementsByTagName('DIV')(0);
    var objTree=objTR.cells[0].getElementsByTagName('DIV')(1);
    var objListBox=objTR.cells[2].getElementsByTagName('SELECT')(0);
    var objListBoxData=objTR.cells[2].getElementsByTagName('INPUT')(0);
    var strINC_PAR=GSSgetAttribute(objContainer,'GSS_INC_PAR');

    if(strINC_PAR=='') strINC_PAR='Y';
    var strA_S_ID=objTree.id+'A_';
    var intA_S_IDlen=strA_S_ID.length;
    var blnCheck=false;
    var blnAdd=true

    if(vintType==2){        //Remove All Opts
        GSSClearCbo(2,objListBox);
        var coll = objTree.all.tags('SPAN') ;}
    else{
        if(typeof(GSStreeItemSel)!='object') return false
        blnCheck=true;
        var strCOMBO_VAL=GSSgetListBoxVal(objListBox);
        if(strCOMBO_VAL!='') strCOMBO_VAL='\\,' + strCOMBO_VAL;

        var strSel_ID=GSStreeItemSel.id.substr(intA_S_IDlen,GSStreeItemSel.id.length-intA_S_IDlen).toString();
        var obj=eval('document.all.'+objTree.id+'BD_'+strSel_ID.toString());
        if(typeof(obj)=='object'){
            var coll = obj.all.tags('SPAN');}
        if((strINC_PAR=='Y')||(typeof(obj)!='object')){
            var newitem = document.createElement('OPTION');
            newitem.text = GSStreeItemSel.innerText;
            newitem.value =__trGetNodeValue(GSStreeItemSel);
            if(strCOMBO_VAL.indexOf('\\,' + newitem.value + '\\|')==-1){
                objListBox.options.add(newitem);}
        }
    }
    if (typeof(coll)=='object') {
        for (var i=0; i<coll.length; i++) {
            var e = coll.item(i) ;
            if(e.id.substr(0,intA_S_IDlen)==strA_S_ID){
                var newitem = document.createElement('OPTION');
                newitem.text = e.innerText;
                newitem.value =__trGetNodeValue(e);
                if(blnCheck){
                    if(strCOMBO_VAL.indexOf(newitem.value)!=-1){
                        blnAdd=false;}
                    else{
                        blnAdd=true;}
                }
                if(blnAdd) objListBox.options.add(newitem);}
        }
    }
    if(objListBoxData.type=='hidden')   objListBoxData.value=GSSgetListBoxVal(objListBox);  //Set Val To Hidden Fld
}